package com.hxc.interest.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.hxc.common.annotation.Excel;
import com.hxc.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 通知公告信息对象 t_notice_info
 * 
 * @author hxc
 * @date 2021-08-16
 */
@ApiModel(value = "通知公告信息对象")
public class TNoticeInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;
    /** 公告类型(1:通知，2:公告，3：简介) */
    @Excel(name = "公告类型(1:通知，2:公告)")
    private String noticeType;

    /** 公告标题 */
    @Excel(name = "公告标题")
    @ApiModelProperty(value = "公告标题")
    private String noticeTitle;

    /** 公告内容 */
    @Excel(name = "公告内容")
    @ApiModelProperty(value = "公告内容")
    private String noticeContent;

    /** 阅读量 */
    @Excel(name = "阅读量")
    @ApiModelProperty(value = "阅读量")
    private Integer readNum;

    /** 阳光三务类型 (1:党务，2:村务，3:财务)*/
    @Excel(name = "阳光三务类型", readConverterExp = "1=党务,2=村务,3=财务")
    @ApiModelProperty(value = "阳光三务类型 (1:党务，2:村务，3:财务)")
    private Integer sunshineType;

    /** 公告状态(0:发布，1:隐藏) */
    @Excel(name = "公告状态(0:发布，1:隐藏)")
    @ApiModelProperty(value = "公告状态(0:发布，1:隐藏)")
    private String noticeStatus;

    /** 作者 */
    @Excel(name = "作者id")
    @ApiModelProperty(value = "作者id")
    private Long userId;

    /** ----------------------------------表关联字段----------------------------- */
    /** 作者名称 */
    @Excel(name = "作者名称")
    @TableField(exist = false)
    @ApiModelProperty(value = "作者名称")
    private String nickName;

    /** 账号名称 */
    @Excel(name = "账号名称")
    @TableField(exist = false)
    @ApiModelProperty(value = "账号名称")
    private String userName;

    /** 公告类型id */
    @Excel(name = "公告类型id")
    @TableField(exist = false)
    private String noticeTypeEums;

    /** 是否已读 */
    @TableField(exist = false)
    @ApiModelProperty(value = "是否已读")
    private boolean isRead = false;

    public void setId(Long id) 
    {
        this.id = id;
    }
    public Long getId() 
    {
        return id;
    }

    public void setNoticeType(String noticeType) 
    {
        this.noticeType = noticeType;
    }
    public String getNoticeType() 
    {
        return noticeType;
    }

    public void setNoticeTitle(String noticeTitle) 
    {
        this.noticeTitle = noticeTitle;
    }
    public String getNoticeTitle() 
    {
        return noticeTitle;
    }

    public void setNoticeContent(String noticeContent) 
    {
        this.noticeContent = noticeContent;
    }
    public String getNoticeContent() 
    {
        return noticeContent;
    }

    public void setReadNum(Integer readNum)
    {
        this.readNum = readNum;
    }
    public Integer getReadNum()
    {
        return readNum;
    }

    public void setNoticeStatus(String noticeStatus) 
    {
        this.noticeStatus = noticeStatus;
    }
    public String getNoticeStatus() 
    {
        return noticeStatus;
    }

    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }
    public Long getUserId() 
    {
        return userId;
    }

    public String getNickName() {
        return nickName;
    }
    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getNoticeTypeEums() {
        return noticeTypeEums;
    }
    public void setNoticeTypeEums(String noticeTypeEums) {
        this.noticeTypeEums = noticeTypeEums;
    }

    public boolean isRead() {
        return isRead;
    }
    public void setRead(boolean isRead) {
        this.isRead = isRead;
    }

    public Integer getSunshineType() {
        return sunshineType;
    }
    public void setSunshineType(Integer sunshineType) {
        this.sunshineType = sunshineType;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("noticeType", getNoticeType())
            .append("noticeTitle", getNoticeTitle())
            .append("noticeContent", getNoticeContent())
            .append("readNum", getReadNum())
            .append("noticeStatus", getNoticeStatus())
            .append("userId", getUserId())
            .append("createTime", getCreateTime())
            .append("userName", getUserName())
            .append("nickName", getNickName())
            .append("sunshineType", getSunshineType())
            .toString();
    }
}
